草庐IT

Spring 定时任务

全部标签

java - 每个请求的 Spring session 创建策略?

TL;DR是否可以在每个请求的基础上控制Spring(安全)中的session创建策略?长版...我一直在为我们的应用程序使用普通的登录表单用户身份验证。一些Controller是@RestControllers,到目前为止,由cookie跟踪的默认用户session允许它正常工作。(即,当XHR请求来自页面时,当浏览器像往常一样发送JSESSIONIDcookie时,该请求被验证为先前登录的用户)我现在想要允许从休息客户端而不是浏览器调用一些@RestController端点,所以我创建了一个APItoken身份验证方案-这工作正常。最后的清理工作之一是REST调用生成一个sessi

java - 如何使用@RequestMapping 在 Spring MVC Controller 中优化我的代码?

在我的Controller中,我的Controller方法名称等于请求映射url。例如,/list等于方法名称list。是否有通用的处理程序方法来缩短我的代码?我不想以这种方式编写每个Controller和方法。我记得.netmvc有一种常见的配置方式。SpringMVC怎么样?@Controller@RequestMapping(value="/fooController")publicclassFooController{@RequestMapping("/list")publicStringlist(...){...}@RequestMapping("/save")publicS

java - Spring:缺少必需的请求正文。无法将 JSON 传递给 RestController

我在将JSON传递给RestController时遇到问题。它似乎没有消耗它。Controller:@PostMapping(path="Users/{UserId}/Transactions",consumes=MediaType.APPLICATION_JSON_VALUE,produces=MediaType.APPLICATION_JSON_VALUE)publicCompletableFuture>startGameRound(@RequestBodyTransactionRequestrequest,@RequestParam("PartnerUserSessionKey"

java - Java中用于处理任务的并发和可扩展数据结构?

对于我当前的开发,我有许多创建Tasks的线程(Producers)和许多使用这些Tasks的线程(消费者)每个Producer都由一个唯一的名称标识;Tasks由以下部分组成:其生产者的名称一个名字数据我的问题涉及(生产者)和(消费者)使用的数据结构。并发队列?天真地,我们可以想象Producer用Tasks填充一个并发队列,然后(consumers)读取/消费Tasks存储在并发队列中。我认为这个解决方案更适合扩展,但有一个案例是有问题的:如果Producers非常快速地创建两个名称相同但数据不同的Tasks(任务T1和T2同名但T1有数据D1,T2有数据D2),理论上有可能按照T

java - 为什么 Logback 是 Spring Boot 中的默认日志记录框架?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭去年。Improvethisquestion我尝试搜索Spring文档+互联网上的文章+来自Stackoverflow的问题,但我没有找到任何相关信息。对我来说,Log4J2的配置(尤其是模式)要简单得多,个人品味。此外,根据这些文章,我发现Log4J2的性能优于Logback:https://stackify.com/compare-java-logging-frameworkshttps://blog.overops.com/th

java - 使用 getBean 而不是 Spring 中的方法注入(inject)

我有一个有多个屏幕的应用程序,每个屏幕都是通过一个按钮选择的。每个屏幕都包含相当重量级的组件,因此只有激活屏幕在内存中很重要-所有其他屏幕都应该可用于垃圾回收。该应用程序使用Spring作为胶水,目前它使用getBean()切换屏幕://eventhandlerforaspecificbuttonpublicvoidactionPerformed(Evente){setScreen((Screen)applicationContext.getBean("screen1"));}“screen1”是一个原型(prototype)bean,因此当按下按钮时会创建一个新的屏幕实例。此外,se

java - 在 Java 中,如何等待所有任务,但在出现第一个错误时停止?

我有一系列并发任务要运行。如果其中任何一个失败,我想打断它们并等待终止。但假设它们都没有失败,我想等待它们全部完成。ExecutorCompletionService似乎几乎是我在这里想要的,但似乎没有办法判断我的所有任务是否已完成,除非单独计算任务数量。(请注意,ExecutorCompletionService的Javadoc中的两个示例都跟踪任务的计数“n”,并使用它来确定服务是否完成。)我是不是忽略了什么,还是我真的必须自己编写这段代码? 最佳答案 是的,如果您使用的是ExecutorCompletionService,则确

java - 我可以将 3 种不同的身份验证方案放在同一个 spring 安全配置中吗?

我的要求是提供:基于用户ID密码的身份验证。打开基于id的身份验证基于URL的身份验证(它是我们拥有的自定义SSO实现)在同一个项目中。我尝试将Spring安全性插入到现有项目中(为简单起见,代码被删除):whereismytokenkey-->如上所述,我需要跟踪以下形式的url:/myApp/customLogin/12345,其中1235是tokenkey,我们最初使用的是(为简单起见删除了代码)mySSOCapture/myApp/*MyServlet/MyServlet我应该在这里做什么来启用springsecurity来帮助我管理这第三个身份验证方案?一个推论问题是:我可以

java - Wicket:如何处理长时间运行的任务

我设置了一个Wicket+Hibernate+SpringWeb应用程序,它涉及收集一些数据(生成并返回一些文件)、将其存储在数据库中、创建一些图像并将所有这些显示在网页上。这一切都适用于短期运行,但有时收集数据(涉及一些远程数字运算)会花费太长时间(20分钟以上)并超时。我尝试使用两种方法解决此问题,但它们都显示出一些问题。第一种方法是使用AjaxLazyLoadPanels并在getLazyLoadComponent中执行所有操作。这对于短时间运行效果很好,但对于20分钟以上的运行,LazyLoadComponents将由于超时而无法加载(这里很矛盾)。第二种方法涉及创建一个添加了

java - 当我的 Hibernate 事务由 Spring 管理时如何启用 Hibernate 拦截器?

如果我与@Cascade(CascadeType.SAVE_UPDATE)有一个@OneToMany关系,如下所示publicclassOne{privateIntegerid;privateListmanyList=newArrayList();@Id@GeneratedValuepublicIntegergetId(){returnthis.id;}@OneToMany@JoinColumn(name="ONE_ID",updateable=false,nullable=false)@Cascade(CascadeType.SAVE_UPDATE)publicListgetMany